/*!
 * \file manager.h
 * \brief Header of classes CMeshManager, CTextureManager, CSoundManager and CGlobalManager
 * \author Benjamin Toueg
 * \version 13.08.09
 */

#ifndef TEXTUREMANAGER_H
#define TEXTUREMANAGER_H

#include <GL/glew.h>
#include <SFML/Graphics.hpp>

class CTextureManager
{
public:
    CTextureManager();
    ~CTextureManager();
    void bindTexture(const std::string& mesh_name);
    std::map<int,sf::Image>* getMapTextureBoxes() { return &map_texture_boxes; };
    std::map<std::pair<int,int>,sf::Image>* getMapTextureCTiles() { return &map_texture_tiles; };
    void loadAllTexture();

private:
    // ci-après les textures UV
    std::map<std::string,sf::Image> m_texture_map;
    // ci-après les textures des cases
    std::map<int,sf::Image> map_texture_boxes;
    std::map<std::pair<int,int>,sf::Image> map_texture_tiles;
};

#endif //TEXTUREMANAGER_H
